#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "TMensaje.h"

int Mensaje_Crear(TMensaje* mensaje, TDireccion destino, char* texto) {
	mensaje->destino = destino;
	mensaje->tam = strlen(texto);
	mensaje->texto = malloc(mensaje->tam + 1);

	strcpy(mensaje->texto, texto);
	return MENSAJE_OK;
}

int Mensaje_Destruir(TMensaje* mensaje) {
	free(mensaje->texto);
	return MENSAJE_OK;
}

int Mensaje_ObtenerDireccion(TMensaje* mensaje, TDireccion* direccion) {
	*direccion = mensaje->destino;
	return MENSAJE_OK;
}

int Mensaje_ObtenerTexto(TMensaje* mensaje, char** texto) {
	if(!(*texto = malloc(mensaje->tam + 1)))
		return MENSAJE_ERR_MEMORIA;
		
	strcpy(*texto, mensaje->texto);
	return MENSAJE_OK;
}

int Mensaje_ObtenerTamanioMensaje(TMensaje* mensaje, int* tamanio) {
	*tamanio = mensaje->tam;
	return MENSAJE_OK;
}

